home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libelf / elf_getphdr.z / elf_getphdr
Encoding:
Text File  |  1998-10-30  |  7.6 KB  |  131 lines

  1.  
  2.  
  3.  
  4. EEEELLLLFFFF____GGGGEEEETTTTPPPPHHHHDDDDRRRR((((3333EEEE))))                                                EEEELLLLFFFF____GGGGEEEETTTTPPPPHHHHDDDDRRRR((((3333EEEE))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _eeee_llll_ffff______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr: _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr, _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr, _eeee_llll_ffff_6666_4444______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr, _eeee_llll_ffff_6666_4444______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr -
  10.      retrieve class-dependent program header table
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _cccc_cccc [_f_l_a_g ...] _f_i_l_e ...  _----_llll_eeee_llll_ffff [_l_i_b_r_a_r_y ...]
  14.  
  15.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_llll_iiii_bbbb_eeee_llll_ffff_...._hhhh_>>>>
  16.      _EEEE_llll_ffff_3333_2222______PPPP_hhhh_dddd_rrrr _****_eeee_llll_ffff_3333_2222______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  17.      _EEEE_llll_ffff_3333_2222______PPPP_hhhh_dddd_rrrr _****_eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_,,,, _ssss_iiii_zzzz_eeee______tttt _cccc_oooo_uuuu_nnnn_tttt_))))_;;;;
  18.      _EEEE_llll_ffff_6666_4444______PPPP_hhhh_dddd_rrrr _****_eeee_llll_ffff_6666_4444______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_))))_;;;;
  19.      _EEEE_llll_ffff_6666_4444______PPPP_hhhh_dddd_rrrr _****_eeee_llll_ffff_6666_4444______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr_((((_EEEE_llll_ffff _****_eeee_llll_ffff_,,,, _ssss_iiii_zzzz_eeee______tttt _cccc_oooo_uuuu_nnnn_tttt_))))_;;;;
  20.  
  21. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  22.      For a 32-bit class file, _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_pppp_hhhh_dddd_rrrr returns a pointer to the program
  23.      execution header table, if one is available for the ELF descriptor _e_l_f.
  24.  
  25.      _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr allocates a new table with _c_o_u_n_t entries, regardless of
  26.      whether one existed previously, and sets the _EEEE_LLLL_FFFF______FFFF______DDDD_IIII_RRRR_TTTT_YYYY bit for the
  27.      table [see _eeee_llll_ffff______ffff_llll_aaaa_gggg(3E)].  Specifying a zero _c_o_u_n_t deletes an existing
  28.      table.  Note this behavior differs from that of _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_eeee_hhhh_dddd_rrrr [see
  29.      _eeee_llll_ffff_3333_2222______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr(3E)], allowing a program to replace or delete the program
  30.      header table, changing its size if necessary.
  31.  
  32.      If no program header table exists, the file is not a 32-bit class file,
  33.      an error occurs, or _e_l_f is null, both functions return a null pointer.
  34.      Additionally, _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr returns a null pointer if _c_o_u_n_t is zero.
  35.  
  36.      The table is an array of _EEEE_llll_ffff_3333_2222______PPPP_hhhh_dddd_rrrr structures, each of which includes
  37.      the following members.
  38.  
  39.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _pppp______tttt_yyyy_pppp_eeee_;;;;
  40.                   _EEEE_llll_ffff_3333_2222______OOOO_ffff_ffff       _pppp______oooo_ffff_ffff_ssss_eeee_tttt_;;;;
  41.                   _EEEE_llll_ffff_3333_2222______AAAA_dddd_dddd_rrrr      _pppp______vvvv_aaaa_dddd_dddd_rrrr_;;;;
  42.                   _EEEE_llll_ffff_3333_2222______AAAA_dddd_dddd_rrrr      _pppp______pppp_aaaa_dddd_dddd_rrrr_;;;;
  43.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _pppp______ffff_iiii_llll_eeee_ssss_zzzz_;;;;
  44.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _pppp______mmmm_eeee_mmmm_ssss_zzzz_;;;;
  45.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _pppp______ffff_llll_aaaa_gggg_ssss_;;;;
  46.                   _EEEE_llll_ffff_3333_2222______WWWW_oooo_rrrr_dddd      _pppp______aaaa_llll_iiii_gggg_nnnn_;;;;
  47.  
  48.      The ELF header's _eeee______pppp_hhhh_nnnn_uuuu_mmmm member tells how many entries the program header
  49.      table has [see _eeee_llll_ffff______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr(3E)].  A program may inspect this value to
  50.      determine the size of an existing table; _eeee_llll_ffff_3333_2222______nnnn_eeee_wwww_pppp_hhhh_dddd_rrrr automatically sets
  51.      the member's value to _c_o_u_n_t.  If the program is building a new file, it
  52.      is responsible for creating the file's ELF header before creating the
  53.      program header table.
  54.  
  55.      The 64-bit class works identically, simply replacing all instances of 32
  56.      in the description and table with 64.
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. EEEELLLLFFFF____GGGGEEEETTTTPPPPHHHHDDDDRRRR((((3333EEEE))))                                                EEEELLLLFFFF____GGGGEEEETTTTPPPPHHHHDDDDRRRR((((3333EEEE))))
  69.  
  70.  
  71.  
  72. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  73.      _eeee_llll_ffff(3E), _eeee_llll_ffff______bbbb_eeee_gggg_iiii_nnnn(3E), _eeee_llll_ffff______ffff_llll_aaaa_gggg(3E), _eeee_llll_ffff______gggg_eeee_tttt_eeee_hhhh_dddd_rrrr(3E).
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                                                                         PPPPaaaaggggeeee 2222
  128.  
  129.  
  130.  
  131.